From: Giovanni Campagna Date: Sun, 7 Nov 2010 19:51:25 +0000 (+0100) Subject: Transition the ShellApp state when ready. X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~8549 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=54e3a54489988dc51450a26376b49f918f0bd6f6;p=gnome-shell.git Transition the ShellApp state when ready. shell_app_state_transition emits a signal, so invoke it only when ready, or signal handlers will see an object which is in an invalid state. https://bugzilla.gnome.org/show_bug.cgi?id=632501 --- diff --git a/src/shell-app.c b/src/shell-app.c index d3b00cff2..7dff44106 100644 --- a/src/shell-app.c +++ b/src/shell-app.c @@ -780,9 +780,6 @@ _shell_app_add_window (ShellApp *app, g_object_freeze_notify (G_OBJECT (app)); - if (app->state != SHELL_APP_STATE_STARTING) - shell_app_state_transition (app, SHELL_APP_STATE_RUNNING); - if (!app->running_state) create_running_state (app); @@ -795,6 +792,9 @@ _shell_app_add_window (ShellApp *app, if (user_time > app->running_state->last_user_time) app->running_state->last_user_time = user_time; + if (app->state != SHELL_APP_STATE_STARTING) + shell_app_state_transition (app, SHELL_APP_STATE_RUNNING); + g_object_thaw_notify (G_OBJECT (app)); g_signal_emit (app, shell_app_signals[WINDOWS_CHANGED], 0);